home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / Interfaces / Universal Interfaces 2.0a3 / CIncludes / setjmp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-08  |  837 b   |  49 lines  |  [TEXT/MPS ]

  1. /*
  2.    SetJmp.h
  3.  
  4.    Copyright Apple Computer, Inc.    1986-1990, 1993, 1994
  5.    All rights reserved.
  6.  */
  7.  
  8. #ifndef __SETJMP__
  9. #define __SETJMP__
  10.  
  11. #ifdef __CFM68K__
  12.     /* We MUST use the new, larger jmp_buf for CFM-68K */
  13.     #undef OLD_JMPBUF
  14. #endif
  15.  
  16. #if defined (powerc)
  17.     typedef long *jmp_buf[64];      /*  PowerPC  */
  18. #elif defined (OLD_JMPBUF)
  19.     typedef long *jmp_buf[12];        /*    old 68K:  D2-D7,PC,A2-A4,A6,SP  */
  20. #else
  21.     typedef long *jmp_buf[16];        /*    new 68K:  D2-D7,PC,A2-A4,A6,SP,FLAGS,A5,RESVD,RESVD  */
  22. #endif
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28. #ifdef __CFM68K__
  29.     #ifdef UsingSharedLibs
  30.         #pragma lib_export on
  31.     #endif
  32. #endif
  33.  
  34. int __setjmp(jmp_buf env);
  35. #define setjmp(env) __setjmp(env)
  36. void longjmp(jmp_buf, int);
  37.  
  38. #ifdef __CFM68K__
  39.     #ifdef UsingSharedLibs
  40.         #pragma lib_export off
  41.     #endif
  42. #endif
  43.  
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47.  
  48. #endif
  49.